package analiseSemantica;



public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       // new TabelaDeSimbolo();
 /*    ParamDecl p = new ParamDecl(1, "FGHv", 1);
     ParamDecl p2 = new ParamDecl(1, "FGH", 1);
     ParamDeclListTail pr = new ParamDeclListTail(p2);
     ParamDeclListTail pb = new ParamDeclListTail(p,pr);
     ParamDeclList prr = new ParamDeclList(pb);
     VarDeclList vd = new VarDeclList(1);
     Block b = new Block(vd );

     FuncDecl fd = new FuncDecl(prr,b );

     ParamDecl p3 = new ParamDecl(1, "FGHv", 1);
     ParamDecl p4 = new ParamDecl(1, "FGH", 1);
     ParamDeclListTail pr3 = new ParamDeclListTail(p4);
     ParamDeclListTail pb3 = new ParamDeclListTail(p3,pr3);
     ParamDeclList prr3 = new ParamDeclList(pb3);
     VarDeclList vd3 = new VarDeclList(1);
     Block b3 = new Block(vd3 );

     FuncDecl fd3 = new FuncDecl(prr3 , b3 );
     new Analise( new Decls(1, "x", 3, fd ,new Decls(1, "x", 3, fd3)));

//teste de argumentos
PostFixExpr pfe = new PostFixExpr("ID1", 3);
UnaryExpr ue = new UnaryExpr(pfe);
BinaryExpr be = new BinaryExpr(ue);
Expr ep = new Expr(be);
ArgumentList arg1 = new ArgumentList(ep);

PostFixExpr pfe2 = new PostFixExpr("ID2", 3);
UnaryExpr ue2 = new UnaryExpr(pfe2);
BinaryExpr be2 = new BinaryExpr(ue2);
Expr ep2 = new Expr(be2);
ArgumentList arg = new ArgumentList(arg1, ep2);

PostFixExpr pfe3 = new PostFixExpr("ID3", 3);
UnaryExpr ue3 = new UnaryExpr(pfe3);
BinaryExpr be3 = new BinaryExpr(ue3);
Expr ep3 = new Expr(be3);


ArgumentList arg3 = new ArgumentList(arg, ep3);

PostFixExpr pfe4 = new PostFixExpr("TESTE",2, arg3);
UnaryExpr un = new UnaryExpr(pfe4);
BinaryExpr bn = new BinaryExpr(un);
Expr ex = new Expr(bn);
*/
 Constant c1 = new Constant("123", 1);
Constant c2 = new Constant("123", 2);
PostFixExpr pfe5 = new PostFixExpr("LADO1",6);
UnaryExpr un2 = new UnaryExpr(pfe5);
BinaryExpr bn = new BinaryExpr(un2);

PostFixExpr pfe6 = new PostFixExpr("LADO2",6);
UnaryExpr un3 = new UnaryExpr(pfe6);

BooleanOp bo = new BooleanOp(2);

BinaryExpr bn2 = new BinaryExpr(bn, bo, un3);

     Expr ex2 = new Expr(bn);


PostFixExpr pfe7 = new PostFixExpr("LADO0",6);
UnaryExpr un4 = new UnaryExpr(pfe7);

     Expr ex3 = new Expr(un4, ex2);

//new Analise(ex3);

    



    }

}
